V-222931 | High | Default password for keystore must be changed. | Tomcat currently operates only on JKS, PKCS11, or PKCS12 format keystores. The JKS format is Java's standard "Java KeyStore" format, and is the format created by the keytool command-line utility... |
V-222964 | High | TLS must be enabled on JMX. | Java Management Extensions (JMX) provides the means for enterprises to remotely manage the Java VM and can be used in place of the local manager application that comes with Tomcat.
JMX... |
V-222965 | High | LDAP authentication must be secured. | JNDIRealm is an implementation of the Tomcat Realm interface. Tomcat uses the JNDIRealm to look up users in an LDAP directory server. The realm's connection to the directory is defined by the... |
V-222968 | High | Tomcat must use FIPS-validated ciphers on secured connectors. | Connectors are how Tomcat receives requests over a network port, passes them to hosted web applications via HTTP or AJP, and then sends the results back to the requestor. Cryptographic ciphers are... |
V-222984 | Medium | Tomcat user account must be a non-privileged user. | Use a distinct non-privileged user account for running Tomcat. If Tomcat processes are compromised and a privileged user account is used to operate the Tomcat server processes, the entire system... |
V-222986 | Medium | $CATALINA_HOME folder must be owned by the root user, group tomcat. | Tomcat file permissions must be restricted. The standard configuration is to have the folder where Tomcat is installed owned by the root user with the group set to tomcat. The $CATALINA_HOME... |
V-222987 | Medium | $CATALINA_BASE/conf/ folder must be owned by root, group tomcat. | Tomcat file permissions must be restricted. The standard configuration is to have Tomcat files contained in the conf/ folder as members of the "tomcat" group. While root has read/write privileges,... |
V-222980 | Medium | LockOutRealms must be used for management of Tomcat. | A LockOutRealm adds the ability to lock a user out after multiple failed logins. LockOutRealm is an implementation of the Tomcat Realm interface that extends the CombinedRealm to provide user lock... |
V-222981 | Medium | LockOutRealms failureCount attribute must be set to 5 failed logins for admin users. | A LockOutRealm adds the ability to lock a user out after multiple failed logins. Setting the failureCount attribute to 5 will lock out a user account after 5 failed attempts.
LockOutRealm is an... |
V-222983 | Medium | Tomcat user account must be set to nologin. | When installing Tomcat, a user account is created on the OS. This account is used in order for Tomcat to be able to operate on the OS but does not require the ability to actually log in to the... |
V-222939 | Medium | Date and time of events must be logged. | The access logfile format is defined within a Valve that implements the org.apache.catalina.valves.AccessLogValve interface within the /opt/tomcat/server.xml configuration file: The %t pattern... |
V-222988 | Medium | $CATALINA_BASE/logs/ folder must be owned by tomcat user, group tomcat. | Tomcat file permissions must be restricted. The standard configuration is to have all Tomcat files owned by root with group Tomcat. While root has read/write privileges, group only has read... |
V-222938 | Medium | AccessLogValve must be configured per each virtual host.
| Application servers utilize role-based access controls in order to specify the individuals who are allowed to configure application component loggable events. The application server must be... |
V-222942 | Medium | The first line of request must be logged. | The access logfile format is defined within a Valve that implements the org.apache.catalina.valves.AccessLogValve interface within the /opt/tomcat/server.xml configuration file: The "%r"... |
V-223010 | Medium | The application server must alert the SA and ISSO, at a minimum, in the event of a log processing failure.
| Logs are essential to monitor the health of the system, investigate changes that occurred to the system, or investigate a security incident. When log processing fails, the events during the... |
V-222943 | Medium | $CATALINA_BASE/logs folder permissions must be set to 750. | Tomcat file permissions must be restricted. The standard configuration is to have all Tomcat files owned by root with group Tomcat. While root has read/write privileges, group only has read... |
V-222935 | Medium | Connectors must be secured. | The unencrypted HTTP protocol does not protect data from interception or alteration which can subject users to eavesdropping, tracking, and the modification of received data. To secure an HTTP... |
V-222934 | Medium | DefaultServlet must be set to readonly for PUT and DELETE. | The DefaultServlet is a servlet provided with Tomcat. It is called when no other suitable page can be displayed to the client. The DefaultServlet serves static resources as well as directory... |
V-222937 | Medium | Tomcat servers behind a proxy or load balancer must log client IP. | When running Tomcat behind a load balancer or proxy, default behavior is for Tomcat to log the proxy or load balancer IP address as the client IP. Desired behavior is to log the actual client IP... |
V-222936 | Medium | The Java Security Manager must be enabled. | The Java Security Manager (JSM) is what protects the Tomcat server from trojan servlets, JSPs, JSP beans, tag libraries, or even from inadvertent mistakes. The JSM works the same way a client's... |
V-222930 | Medium | AccessLogValve must be configured for each application context.
| Tomcat has the ability to host multiple contexts (applications) on one physical server by using the <Host><Context> attribute. This allows the admin to specify audit log settings on a per... |
V-222933 | Medium | Cookies must have http-only flag set. | It is possible to steal or manipulate web application session and cookies without having a secure cookie. Configuring the secure flag injects the setting into the response header.
The... |
V-222932 | Medium | Cookies must have secure flag set. | It is possible to steal or manipulate web application session and cookies without having a secure cookie. Configuring the secure flag injects the setting into the response header.
The... |
V-222971 | Medium | Tomcat servers must mutually authenticate proxy or load balancer connections. | Tomcat servers are often placed behind a proxy when exposed to both trusted and untrusted networks. This is done for security and performance reasons. Tomcat does provide an HTTP server that can... |
V-222970 | Medium | Access to Tomcat manager application must be restricted. | The Tomcat manager application is used to manage the Tomcat server and the applications that run on Tomcat. By default, the manager application is only accessible via the localhost. Exposing the... |
V-222979 | Medium | Idle timeout for management application must be set to 10 minutes. | Tomcat can set idle session timeouts on a per application basis. The management application is provided with the Tomcat installation and is used to manage the applications that are installed on... |
V-222975 | Medium | ErrorReportValve showServerInfo must be set to false. | The Error Report Valve is a simple error handler for HTTP status codes that will generate and return HTML error pages. It can also be configured to return pre-defined static HTML pages for... |
V-222974 | Medium | Clusters must operate on a trusted network. | Operating a Tomcat cluster on an untrusted network creates potential for unauthorized persons to view or manipulate cluster session traffic. When operating a Tomcat cluster, care must be taken to... |
V-222977 | Medium | ErrorReportValve showReport must be set to false. | The Error Report Valve is a simple error handler for HTTP status codes that will generate and return HTML error pages. It can also be configured to return pre-defined static HTML pages for... |
V-222952 | Medium | Unapproved connectors must be disabled. | Connectors are how Tomcat receives requests, passes them to hosted web applications, and then sends back the results to the requestor. Tomcat provides HTTP and Apache JServ Protocol (AJP)... |
V-222951 | Medium | The shutdown port must be disabled. | Tomcat listens on TCP port 8005 to accept shutdown requests. By connecting to this port and sending the SHUTDOWN command, all applications within Tomcat are halted. The shutdown port is not... |
V-222950 | Medium | Stack tracing must be disabled. | Stack tracing provides debugging information from the application call stacks when a runtime error is encountered. If stack tracing is left enabled, Tomcat will provide this call stack information... |
V-222956 | Medium | Autodeploy must be disabled. | Tomcat allows auto-deployment of applications while Tomcat is running. This can allow untested or malicious applications to be automatically loaded into production. Autodeploy must be disabled in... |
V-222955 | Medium | The deployXML attribute must be set to false in hosted environments. | The Host element controls deployment. Automatic deployment allows for simpler management, but also makes it easier for an attacker to deploy a malicious application. Automatic deployment is... |
V-222945 | Medium | Files in the $CATALINA_BASE/conf/ folder must have their permissions set to 640. | Tomcat file permissions must be restricted. The standard configuration is to have all Tomcat files owned by root with group Tomcat. While root has read/write privileges, group only has read... |
V-222997 | Medium | AccessLogValve must be configured for Catalina engine. | The <Engine> container represents the entire request processing machinery associated with a particular Catalina Service. It receives and processes all requests from one or more Connectors, and... |
V-222996 | Medium | Tomcat server must be patched for security vulnerabilities. | Tomcat is constantly being updated to address newly discovered vulnerabilities, some of which include denial-of-service attacks. To address this risk, the Tomcat administrator must ensure the... |
V-222995 | Medium | The application server, when categorized as a high availability system within RMF, must be in a high-availability (HA) cluster. | A MAC I system is a system that handles data vital to the organization's operational readiness or effectiveness of deployed or contingency forces. A MAC I system must maintain the highest level of... |
V-222994 | Medium | Certificates in the trust store must be issued/signed by an approved CA. | Use of self-signed certificates creates a lack of integrity and invalidates the certificate based authentication trust model. Certificates used by production systems must be issued/signed by a... |
V-222993 | Medium | Multifactor certificate-based tokens (CAC) must be used when accessing the management interface. | Password authentication does not provide sufficient security control when accessing a management interface. DoD has specified that the CAC will be used when authenticating and passwords will only... |
V-222946 | Medium | $CATALINA_BASE/conf folder permissions must be set to 750. | Tomcat file permissions must be restricted. The standard configuration is to have all Tomcat files owned by root with group Tomcat. While root has read/write privileges, group only has read... |
V-222991 | Medium | $CATALINA_BASE/work/ folder must be owned by tomcat user, group tomcat. | Tomcat file permissions must be restricted. The standard configuration is to have all Tomcat files owned by root with group Tomcat. While root has read/write privileges, group only has read... |
V-222947 | Medium | Jar files in the $CATALINA_HOME/bin/ folder must have their permissions set to 640. | Tomcat's file permissions must be restricted. The standard configuration is to have all Tomcat files owned by root with the group Tomcat. While root has read/write privileges, tomcat group only... |
V-222944 | Medium | Files in the $CATALINA_BASE/logs/ folder must have their permissions set to 640. | Tomcat file permissions must be restricted. The standard configuration is to have all Tomcat files owned by root with group Tomcat. While root has read/write privileges, group only has read... |
V-222999 | Medium | Changes to $CATALINA_BASE/conf/ folder must be logged. | The $CATALINA_BASE/conf folder contains configuration files for the Tomcat Catalina server. To provide forensic evidence in the event of file tampering, changes to contents in this folder must be... |
V-222998 | Medium | Changes to $CATALINA_HOME/bin/ folder must be logged. | The $CATALINA_HOME/bin folder contains startup and control scripts for the Tomcat Catalina server. To provide forensic evidence in the event of file tampering, changes to content in this folder... |
V-223000 | Medium | Changes to $CATALINA_HOME/lib/ folder must be logged. | The $CATALINA_HOME/lib folder contains library files for the Tomcat Catalina server. These are in the form of java archive (jar) files. To provide forensic evidence in the event of file tampering,... |
V-223006 | Medium | Tomcat users in a management role must be approved by the ISSO. | Deploying applications to Tomcat requires a Tomcat user account that is in the "manager-script" role. Any user accounts in a Tomcat management role must be approved by the ISSO. |
V-223004 | Medium | ALLOW_BACKSLASH must be set to false. | When Tomcat is installed behind a proxy configured to only allow access to certain Tomcat contexts (web applications), an HTTP request containing "/\../" may allow attackers to work around the... |
V-223005 | Medium | ENFORCE_ENCODING_IN_GET_WRITER must be set to true. | Some clients try to guess the character encoding of text media when the mandated default of ISO-8859-1 should be used. Some browsers will interpret as UTF-7 when the characters are safe for... |
V-222927 | Medium | Secured connectors must be configured to use strong encryption ciphers.
| The Tomcat <Connector> element controls the TLS protocol and the associated ciphers used. If a strong cipher is not selected, an attacker may be able to circumvent encryption protections that are... |
V-222940 | Medium | Remote hostname must be logged. | The access logfile format is defined within a Valve that implements the org.apache.catalina.valves.AccessLogValve interface within the /opt/tomcat/server.xml configuration file: The %h pattern... |
V-222929 | Medium | TLS 1.2 must be used on secured HTTP connectors.
| Using older versions of TLS introduces security vulnerabilities that exist in the older versions of the protocol. Tomcat by default will use all available versions of the SSL/TLS protocols unless... |
V-222966 | Medium | DoD root CA certificates must be installed in Tomcat trust store. | Tomcat truststores are used to validate client certificates. On the Ubuntu OS, by default Tomcat uses the "cacerts" file as the CA trust store. The file is located in the /etc/ssl/certs/java/... |
V-222967 | Medium | Keystore file must be protected. | Keystore file contains authentication information used to access application data and data resources. Access to the file must be protected.
The default location is in the .keystore file stored in... |
V-222962 | Medium | Tomcat management applications must use LDAP realm authentication. | Using the local user store on a Tomcat installation does not meet a multitude of security control requirements related to user account management. To address this risk, Tomcat must be configured... |
V-222963 | Medium | JMX authentication must be secured. | Java Management Extensions (JMX) provides the means to remotely manage the Java VM. When enabling the JMX agent for remote monitoring, the user must enable authentication. |
V-222961 | Medium | Applications in privileged mode must be approved by the ISSO. | The privileged attribute controls if a context (application) is allowed to use container provided servlets like the Manager servlet. It is false by default and should only be changed for trusted... |
V-222948 | Medium | $CATALINA_HOME/bin folder permissions must be set to 750. | Tomcat file permissions must be restricted. The standard configuration is to have all Tomcat files owned by root with group Tomcat. While root has read/write privileges, group only has read... |
V-222949 | Medium | Tomcat user UMASK must be set to 0027. | For Unix-based systems, umask settings affect file creation permissions. If the permissions are too loose, newly created log files and applications could be accessible to unauthorized users via... |
V-222969 | Medium | Access to JMX management interface must be restricted. | Java Management Extensions (JMX) is used to provide programmatic access to Tomcat for management purposes. This includes monitoring and control of java applications running on Tomcat. If network... |
V-222985 | Low | Application user name must be logged. | The access logfile format is defined within a Valve that implements the org.apache.catalina.valves.AccessLogValve interface within the /opt/tomcat/server.xml configuration file: The %u pattern... |
V-222982 | Low | LockOutRealms lockOutTime attribute must be set to 600 seconds (10 minutes) for admin users. | A LockOutRealm adds the ability to specify a lockout time that prevents further attempts after multiple failed logins. Setting the lockOutTime attribute to 600 will lock out a user account for 10... |
V-222989 | Low | $CATALINA_BASE/temp/ folder must be owned by tomcat user, group tomcat. | Tomcat file permissions must be restricted. The standard configuration is to have all Tomcat files owned by root with group Tomcat. While root has read/write privileges, group only has read... |
V-222973 | Low | Tomcat must be configured to limit data exposure between applications. | If RECYCLE_FACADES is true or if a security manager is in use, a new facade object will be created for each request. This reduces the chances that a bug in an application might expose data from... |
V-222976 | Low | Default error pages for manager application must be customized. | Default error pages that accompany the manager application provide educational information on how to configure user accounts and groups for accessing the manager application. These error pages... |
V-222953 | Low | DefaultServlet debug parameter must be disabled. | The DefaultServlet serves static resources as well as serves the directory listings (if directory listings are enabled). It is declared globally in $CATALINA_BASE/conf/web.xml and by default is... |
V-222957 | Low | xpoweredBy attribute must be disabled. | Individual connectors can be configured to display the Tomcat server info to clients. This information can be used to identify Tomcat versions which can be useful to attackers for identifying... |
V-222954 | Low | DefaultServlet directory listings parameter must be disabled. | The DefaultServlet serves static resources as well as directory listings. It is declared globally in $CATALINA_BASE/conf/web.xml and by default is configured with the directory "listings"... |
V-222941 | Low | HTTP status code must be logged. | The access logfile format is defined within a Valve that implements the org.apache.catalina.valves.AccessLogValve interface within the /opt/tomcat/server.xml configuration file: The %s pattern... |
V-222959 | Low | Tomcat default ROOT web application must be removed. | The default ROOT web application includes the version of Tomcat that is being used, links to Tomcat documentation, examples, FAQs, and mailing lists. The default ROOT web application must be... |
V-222958 | Low | Example applications must be removed. | Tomcat provides example applications, documentation, and other directories in the default installation which do not serve a production use. These files must be deleted. |
V-222990 | Low | $CATALINA_BASE/temp folder permissions must be set to 750. | Tomcat's file permissions must be restricted. The standard configuration is to have all Tomcat files owned by root with the group Tomcat. While root has read/write privileges, tomcat group only... |
V-222978 | Low | Tomcat server version must not be sent with warnings and errors. | A first order of attack is to identify vulnerable servers and services. Removing version information that would otherwise be provided when a client requests version data or receives an error... |
V-223002 | Low | STRICT_SERVLET_COMPLIANCE must be set to true. | Strict Servlet Compliance forces Tomcat to adhere to standards specifications including but not limited to RFC2109. RFC2109 sets the standard for HTTP session management. This setting affects... |
V-223003 | Low | RECYCLE_FACADES must be set to true. | If RECYCLE_FACADES is true or if a security manager is in use, a new facade object will be created for each request. This reduces the chances that a bug in an application might expose data from... |
V-223001 | Low | Application servers must use NIST-approved or NSA-approved key management technology and processes. | Class 3 PKI certificates are used for servers and software signing rather than for identifying individuals. Class 4 certificates are used for business-to-business transactions. Utilizing... |
V-223007 | Low | Hosted applications must be documented in the system security plan. | The ISSM/ISSO must be cognizant of all applications operating on the Tomcat server, and must address any security implications associated with the operation of the applications.
If... |
V-223008 | Low | Connectors must be approved by the ISSO. | Connectors are how Tomcat receives requests over a network port, passes them to hosted web applications via HTTP or AJP and then sends back the results to the requestor. A port and a protocol are... |
V-223009 | Low | Connector address attribute must be set. | Connectors are how Tomcat receives requests over a network port, passes them to hosted web applications via HTTP or AJP, and then sends back the results to the requestor. The "address" attribute... |
V-222926 | Low | The number of allowed simultaneous sessions to the manager application must be limited.
| The manager application provides configuration access to the Tomcat server. Access to the manager application must be limited and that includes the number of sessions allowed to access the... |
V-222928 | Low | HTTP Strict Transport Security (HSTS) must be enabled. | HTTP Strict Transport Security (HSTS) instructs web browsers to only use secure connections for all future requests when communicating with a website. Doing so helps prevent SSL protocol attacks,... |
V-222960 | Low | Documentation must be removed. | Tomcat provides documentation and other directories in the default installation which do not serve a production use. These files must be deleted. |